/*
 * Copyright (C) 2010-2011 Comcast Cable.  All Rights Reserved.
 */
package com.hercules.android.receiver.model.objects;

/**
 * <p>This class represents the interpolating an object's scale from its current value to a new value over time. This
 * animation will only work correctly on a view that has not been rotated (meaning the rotation component in the
 * transformation matrix is 0). In order to interpolate the object's scale value correctly, the receiver must decompose
 * the transformation matrix, set its rotation value to 0, and extract the view's current scale value. It is a simple
 * JavaBean (POJO) that provides getters and setters for all private attributes and performs no argument validation in
 * the setters.</p>
 *
 * <p><strong>Thread safety:</strong>  This class is mutable and not thread safe.</p>
 *
 * @author saarixx, jmn
 * @version 1.0
 */
public class XREAbsoluteScaleAnimation extends XREAnimationResource {

    /**
     * <p>The desired the scale value along the x-axis at the end of the animation, in pixels.</p>
     *
     * <p>Can be any value.</p>
     *
     * <p>Has getter and setter.</p>
     */
    private int sx;

    /**
     * <p>The desired the scale value along the y-axis at the end of the animation, in pixels.</p>
     *
     * <p>Can be any value.</p>
     *
     * <p>Has getter and setter.</p>
     */
    private int sy;

    /**
     * <p>Creates new instance of {@link XREAbsoluteScaleAnimation} class.</p>
     */
    public XREAbsoluteScaleAnimation() {
        // empty constructor
    }

    /**
     * <p>Retrieves the desired the scale value along the x-axis at the end of the animation, in pixels.</p>
     *
     * @return the desired the scale value along the x-axis at the end of the animation, in pixels
     */
    public int getSx() {
        return sx;
    }

    /**
     * <p>Sets the desired the scale value along the x-axis at the end of the animation, in pixels.</p>
     *
     * @param sx the desired the scale value along the x-axis at the end of the animation, in pixels
     */
    public void setSx(int sx) {
        this.sx = sx;
    }

    /**
     * <p>Retrieves the desired the scale value along the y-axis at the end of the animation, in pixels.</p>
     *
     * @return the desired the scale value along the y-axis at the end of the animation, in pixels
     */
    public int getSy() {
        return sy;
    }

    /**
     * <p>Sets the desired the scale value along the y-axis at the end of the animation, in pixels.</p>
     *
     * @param sy the desired the scale value along the y-axis at the end of the animation, in pixels
     */
    public void setSy(int sy) {
        this.sy = sy;
    }
}

